草庐IT

java - Java 中不受信任的 Groovy 脚本安全性

全部标签

javascript - 使用 eval() 在 JavaScript 中执行用户输入的安全风险

我计划为我的学生制作一个快速网页,教他们JavaScript编程。在这个页面上,我想给他们一个文本框并允许他们运行JavaScript,以便他们可以看到工作中语言的动态特性。但是,我很清楚在用户输入上使用eval()通常是一个非常糟糕的主意。发布这样的页面会带来什么样的安全风险?我应该采取哪些步骤来降低这些风险? 最佳答案 您面临的安全风险是,您从用户那里获取输入并在您网站上的脚本上下文中运行它。想象一下,如果您是一个恶意破解者,无论出于何种原因都可以完全访问修改JavaScript在网站上运行。您可以执行在您的域上运行的JavaS

javascript - window.location 在 javascript 中不起作用

由于某些原因,下面的代码在尝试重定向时不起作用。我尝试了其他几种方法,例如window.location.href等。唯一有效的是window.open("")但是当我需要它时,它会在新窗口中打开一个页面。如果我执行window.open("","_self")然后它就不会再工作了。如果我用alert替换window.location它工作正常,所以我认为整体代码是正常的,只是阻止它在同一页面上重定向。这个问题也出现在我的WindowsChrome和MacFirefox上。functioncheckAnswers(){getElementById("myQuiz");if(myQuiz

javascript - 在 Grails 的 JavaScript 源代码中执行 groovy 语句

在Grails中基本上有2个地方可以定义JavaScript函数,直接在GSP上的一个元素中,以及在/web-app/js下的一个单独的javascript源文件中(例如,application.js)。我们在application.js中定义了一个常用的javascript函数,但我们还需要能够使用groovy代码动态生成部分函数。不幸的是,${somegroovycode}似乎没有在单独的javascript源文件中处理。是通过在GSP页面上的脚本标记内定义javascript函数来实现此目的的唯一方法,还是有更通用的解决方案?显然,我们可以在模板GSP文件中的脚本标记中定义jav

javascript - jQuery 和 ActiveX 安全问题严重吗?

有没有人注意到JQuery使用ActiveX控件?当用户限制了他们的activex安全时,他们将看到脚本提示弹出窗口和浏览器窗口顶部的黄色栏。-此设置在Windows服务器上是默认设置。-网吧不支持ActiveX。-公司内部工作站不支持这个。考虑到这一点,我看不出人们如何在商业应用程序中使用JQuery。您是否在商业应用程序中使用JQuery?这与你有关吗?你认为我应该关心这个吗? 最佳答案 只有在jQuery代码中提到ActiveX的地方是用于XMLHttpRequests的ActiveXObject://Createthereq

javascript - 如何使 JSON.stringify 在没有 "post-processing"的情况下以 ascii 安全转义形式 (\uXXXX) 编码非 ascii 字符?

我必须将像ü这样的字符作为unicode字符但作为ASCII安全字符串发送到服务器。所以它必须是\u00fc(6个字符)而不是字符本身。但是在JSON.stringify之后,无论我用它做了什么,它总是得到ü。如果我使用像\\u00fc这样的2个反斜杠,那么我也会在JSON字符串中得到2个反斜杠,这也不好。重要约束:我无法在JSON.stringify之后修改字符串,它是没有解决方法的框架的一部分,我们不想fork整个包.这能做到吗?如果是,怎么办? 最佳答案 如果出于某种原因,您希望您的JSON是ASCII安全的,请在json编码

javascript - querySelectorAll 上的 forEach 在最近的 Microsoft 浏览器中不起作用

我正在制作一个用于选择产品(颜色等)的脚本,它适用于除InternetExplorer(11)和Edge之外的所有浏览器。我将每个参数的选择放在一个数组中,并使用array.forEach()方法对它们应用一个函数。颜色参数示例:varcolor_btns=document.querySelectorAll('#color>p');color_btns.forEach(function(color){color.onclick=function(){color_btns.forEach(function(element){if(element.classList.contains('s

javascript - 当我在 Unicorn 服务器上运行时,Websockets 在我的 Rails 应用程序中不起作用,但在瘦服务器上运行

我正在学习RubyonRails以在Heroku上使用WebSockets构建实时网络应用程序,但我无法弄清楚为什么在Unicorn服务器上运行时websocket连接失败。我将我的Rails应用程序配置为在本地和Heroku上使用Procfile在Unicorn上运行...web:bundleexecunicorn-p$PORT-c./config/unicorn.rb...我在本地使用$foremanstart开始。javascript客户端创建websocket连接失败...vardispatcher=newWebSocketRails('0.0.0.0:3000/websock

javascript - ng-selected 在选择元素中不起作用

我有一个绑定(bind)选择但是当c.CollegeName==collegeSelection.CollegeName都匹配时,项目仍然没有被选中。文档似乎没有帮助。有任何想法吗? 最佳答案 ng-selected应在中使用标记,不在中标签。仔细看看它的doc和例子。因为select指令对所选选项的确定基于ngModel.因此,一旦删除ng-selected="c.CollegeName==collegeSelection.CollegeName",您的代码应该可以工作。我创建了一个非常简单的plunk演示select中的“选定”

javascript - Java/SpringMVC/Maven元素的缓存清除机制

关于我正在使用的应用程序的一些背景知识:SpringMVC、JavaEEWeb应用程序、Maven。基本上,我正在寻找的是一种在每次部署我们的应用程序时刷新所有JS和CSS文件的机制。就目前而言,应用程序正在引用静态文件(例如“js/app.js”)。每次这个文件有变化,在本地重新部署后,当浏览器去下载它时,我们会得到一个304(文件没有被修改)。我的问题是:1)在重新部署应用程序时再次提供这些文件并使用应用程序版本作为缓存清除机制(例如“js/v1.0.0/app.js”)会更好吗?这可以通过servlet过滤器来完成。2)由于该元素是一个Maven动态Web元素,是否有某种插件可以

javascript - XHR + 数据 URI 在 Safari 中不起作用

我使用XMLHttpRequest使用以下代码从数据URI生成Blob:functiondataUrlToBlob(dataUrl,callback){varxhr=newXMLHttpRequest;xhr.open('GET',dataUrl);xhr.responseType='arraybuffer';xhr.onload=function(e){callback(newBlob([this.response],{type:'image/png'}));};xhr.send();}用法:dataUrlToBlob('data:image/png;base64,iVBORw0KG